package com.chapter10.single_;

/**
 * 单例模式:饿汉式
 * 即便不使用，类加载时也会加载对象的创建
 * 饿汉式单例模式可能造成创建对象，但没有使用，占用资源。
 * */
public class SingleTon01 {
    public static void main(String[] args) {
        //通过方法获取对象
        Girlfriend instance = Girlfriend.getGf();
        System.out.println(instance.toString());
    }
}
//创建一个类,GirlFriend
class Girlfriend{
    private String name;

    //为了能够在静态方法中返回对象,需要将其修饰为static
    private static Girlfriend gf = new Girlfriend("小红");
    //单例模式-饿汉式步骤：
    //1.将构造器私有化
    //2.在类内部直接创建对象(该对象是静态的(static))
    //3.再提供一个公共的静态方法返回对象
    private Girlfriend(String name) {
        this.name = name;
    }

    public static Girlfriend getGf() {
        return gf;
    }

    @Override
    public String toString() {
        return "Girlfriend{" +
                "name='" + name + '\'' +
                '}';
    }
}

